Exemplary embodiments of the present invention relate electronic events management, and more particularly, to scheduling sessions of an event with multiple attendees based on a set of constraints.
The use of calendaring and scheduling technology has grown considerably in the last decade. Nevertheless, meeting scheduling can present an inherently difficult and time-consuming task that requires multiple parties to interact and consult their various calendars to reach an agreement on a mutually acceptable time. The scheduling task becomes more difficult when the meeting is an event such as a conference or an office visit that involves a number of different participants that will be attending a number of sessions or sub-meetings related to different sub-topics, in which attendance is required for certain participants at certain sessions or sub-meetings. Where the scheduling task involves an event that includes multiple sessions or sub-meetings each being organized by separate people and/or encompassing further sub-sessions or sub-meetings, the process becomes even more complex. The scheduling process for an event must take into account numerous constraints that are set by the participants, and as a result, scheduling a meeting or an event can be a lengthy and time consuming process that involves contacting the attendees, soliciting open times from the attendees, identifying free time slots that are acceptable to the attendees, and then notifying the attendees once an appropriate time is found. The overhead involved with scheduling a meeting or an event increases with the number of attendees and other resources that must be coordinated for the event to occur.
Automated software services and tools designed to assist the scheduling process have been developed to attempt to reduce the overhead of scheduling a meeting or an event. Typically, such a service will include a server shared by an organization that provides a common database for storing information related to a calendar of events (for example, meetings, conferences, and other appointments) each member of the organization is scheduled to attend. People wishing to organize meetings can use this shared information to determine whether an appropriate meeting time is available. For example, a scheduling service may allow a user who is organizing a conference (the “chair”) to specify a list of mandatory attendees and a list of optional attendees from the organization for a meeting. The scheduling service then determines one or more proposed times that all the mandatory attendees can attend a meeting based on data in the shared electronic calendar stored in the common database for the organization. The proposed times are presented one at a time in chronological order. The scheduling service may also list the optional attendees who are also available to attend each proposed time. The organizer can then select one of the proposed times for the meeting and send a message to each of the attendees inviting them to attend the meeting.
While greatly simplifying the task of finding times when a limited number of persons are available for a conference, existing scheduling services still have drawbacks. For instance, the process of selecting an appropriate meeting time is manual and time consuming. The organizer may have to scan through numerous calendars and across large date ranges to find an appropriate time. Additionally, there are privacy implications that are at odds with publishing private data that involves the whereabouts of an individual in the shared calendar in such an approach.